/* Flow Engine Shader */

cbuffer Matrices : register(b0)
{
	row_major float3x3	World;
	row_major float3x3	View;
}

struct VsInput
{
	float2	Position	: POSITION;
	float2	TexCoords	: TEXCOORDS;
};

struct VsOutput
{
	float4	Position	: SV_POSITION;
	float4	Color		: COLOR;
	float2	TexCoords	: TEXCOORDS;
};

VsOutput main(VsInput input)
{
	VsOutput output = (VsOutput)0;

	float3 wpos = mul(float3(input.Position, 0.0f), World);
	wpos = mul(wpos, View);

	output.Position = float4(wpos, 1.0f);
	output.Color = float4(1.0f, 1.0f, 1.0f, 1.0f);
	output.TexCoords = input.TexCoords;

	return output;
}